package com.example.shiwu.service;

import android.content.Context;

import com.example.shiwu.db.dao.BoxNineDao;
import com.example.shiwu.db.dao.base.BaseDaoFactory;
import com.example.shiwu.db.model.BoxNine;
import com.example.shiwu.db.model.BoxOne;
import com.example.shiwu.manager.DatabaseHelper;
import com.example.shiwu.util.DateUtils;

import java.util.ArrayList;
import java.util.List;

public class BoxNineService {

    private DatabaseHelper dbHelper;
    private BoxNineDao<BoxNine> BoxNineDao;
    private ArrayList<BoxNine> listBoxNine = null;

    private static final int PAGE_SIZE = 10;
    private static final int TOTAL_PAGE = 0;

    public BoxNineService() {
    }

    public BoxNineService(Context context) {
        dbHelper = new DatabaseHelper(context);
    }


    /**获取单个数据
     * @param BoxNine
     * @return
     */
    public List<BoxNine> getBoxNine(BoxNine BoxNine) {
        BoxNineDao = BaseDaoFactory.getInstance().createBaseDao(BoxNineDao.class, BoxNine.class);
        listBoxNine = new ArrayList<>();
        listBoxNine.addAll(BoxNineDao.query(BoxNine));
        return listBoxNine;
    }

    /**分页获取数据
     * @param BoxNine
     * @return
     */
    public List<BoxNine> getBoxNineList(BoxNine BoxNine,Integer startIndex,Integer limit) {
        BoxNineDao = BaseDaoFactory.getInstance().createBaseDao(BoxNineDao.class, BoxNine.class);
        listBoxNine = new ArrayList<>();
        listBoxNine.addAll(BoxNineDao.query(BoxNine,null,"create_time desc",null,startIndex,limit));
        return listBoxNine;
    }


    public boolean save(BoxNine BoxNine) {
        BoxNineDao = BaseDaoFactory.getInstance().createBaseDao(BoxNineDao.class, BoxNine.class);
        long size = BoxNineDao.insert(BoxNine);
        if(size >0 ){
            return true;
        }
        return false;
    }
    public boolean saveOrUpdata(BoxNine BoxNine) {
        BoxNineDao = BaseDaoFactory.getInstance().createBaseDao(BoxNineDao.class, BoxNine.class);
        BoxNine boxNine = new BoxNine();
        boxNine.setItemId(BoxNine.getItemId());
        List<BoxNine> lis =BoxNineDao.query(boxNine);
        Boolean bl = true;
        if(lis.size()>0){
            BoxNine.setUpdateTime(DateUtils.parseDate());
            long size = BoxNineDao.update(BoxNine,new BoxNine());
            if(size >0 ){
                return bl;
            }
            bl = false;
        }else{
            BoxNine.setCreateTime(DateUtils.parseDate());
            long size = BoxNineDao.insert(BoxNine);
            if(size >0 ){
                return bl;
            }
            bl = false;
        }

        return bl;
    }

    public boolean updade(BoxNine BoxNine,BoxNine where) {
        long size = BoxNineDao.update(BoxNine,where);
        if(size >0 ){
            return true;
        }
        return false;
    }

    public Boolean delete(BoxNine boxNine) {
        int size = BoxNineDao.delete(boxNine);
        if(size >0 ){
            return true;
        }
        return false;
    }
}
